php یک زبان تفسیرشونده است که اساس و بنیان آن طراحی و ایجاد صفحات پویای وب بوده است. به عبارتی دیگر، کسانی که وظیفه کدنویسی سایت را بر عهده دارند با استفاده از زبان PHP قادر خواهند بود وب اپلیکیشنهایی طراحی کنند که به صورت تعاملی میباشند. منظور از تعاملی بودن وجود قابلیت هایی مانند سطوح دسترسی مختلف برای کاربران، امکان ثبتنام در سایت، پنل کاربری ، ذخیره اطلاعات کاربران و بسیاری از امکانات دیگر است که امروزه در تمامی سایتهای امروزی مشاهده میکنیم. از نقاط قوت این زبان میتوان به وجود فریمورکهای بسیار قدرتمند و محبوبی هم چون لاراول و سیمفونی، دارا بودن بیش از 80% از سهم بازار وب ، متن باز و رایگان بودن ، جامعه بزرگ و پشتیبانی خوب اشاره کرد. از طرفی PHP توانسته است خودش را به عنوان یکی از محبوبترین زبانهای برنامه نویسی در حوزه طراحی وب معرفی کند.
به زبان هایی سمت کاربر یا Client-side میگوییم که در مرورگر کاربر پردازش و اجرا میشوند. برای مثال جاوااسکریپت در مرورگر کاربر اجرا میشود بنابراین جزو زبانهای سمت کاربر محسوب میشود. از آنجایی که این نوع زبانهای برنامه نویسی در سیستم کاربر پردازش میشوند، سخت افزار و نوع سیستم کاربر میتواند در سرعت اجرای آنها تاثیرگذار باشد.
اما زبان هایی مانند PHP در سرور (مربوط به سایت) پردازش و اجرا و در نهایت خروجی آن به سوی کاربر ارسال میشود. به همین دلیل به زبان هایی مانند PHP سمت سرور یا Server-Side میگوییم. از آنجایی که پیاچپی در سمت سرور اجرا میشود، برای برقراری ارتباط بین کاربر و سرور نیاز نرم افزاری دارد که به آن وب سرور میگوییم.
زبانهای برنامه نویسی به دو دسته زبانهای سطح بالا یا High-level و سطح پایین یا Low-Level تقسیم میشوند. و از آن جا که زبان برنامه نویسی PHP یک زبان سطح بالا محسوب میشود، قصد داریم شما را با این دو نوع زبان آشنا کنیم تا تفاوتها و ویژگیهای آنها را بشناسید.
زبانهای برنامه نویسی سطح پایین زبان هایی هستند که به زبان ماشینی یا صفر و یک نزدیکتر میباشند و به صورت مستقیم با پردازنده در ارتباط اند. برای مثال زبان اسمبلی یک زبان سطح پایین محسوب میشود. اما از آنجا که درک و یادگیری فرآیند کار زبانهای سطح پایین برای برنامه نویسان کار دشواری بود، زبانهای سطح بالا را طراحی و ایجاد کردند. زیرا زبانهای سطح بالا به گونه ای ساخته شده اند که به زبان گفتار انسان (زبان انگلیسی) نزدیکتر باشد تا یادگیری و درک آنها برای برنامه نویسان سادهتر شود.
با این کار دیگر برنامه نویسان به دانستن چگونگی انجام دستورات نوشته شده نیازی نداشتند و تمام تمرکز خود را بر روی پیاده سازی منطق نرم افزار و کدنویسی متمرکز میکردند. بنابراین زمانی که برنامه نویس نرم افزار مورد نظرش را با هر یک از زبانهای سطح بالا مانند زبان PHP مینویسد، نرمافزار دستورات نوشته شده را به صورت اتوماتیک به زبانهای سطح پایین یا ماشینی (منظور همان زبان قابل فهم برای سیستم یا زبان صفر و یک است) ترجمه میکند تا سیستم آنها را اجرا کند.
وضعیتی که برای بازار کار php وجود دارد تا حدودی در ایران و خارج از کشور با یکدیگر تفاوتهای بسیار زیادی دارند. در خارج از ایران بازار کار برای بیشتر زبانهای برنامه نویسی مناسب است، در ایران این شرایط وجود ندارد. برای مثال کسی که به زبان برنامه نویسی پایتون تسلط کافی دارد ممکن است به راحتی کار مناسب خود را پیدا نکند.
اگر بخواهیم در مورد اینکه بازار کار زبان php در ایران چگونه است، صحبت کنیم، باید گفت که در حال حاضر زبان برنامه نویسی وب تنها به وسیلهی php و تکنولوژیهای asp.net صورت میپذیرد. می توان گفت که بازار کار زبان برنامه نویسی php در ایران تا حد قابل توجهی خوب است و می توانید درآمد مورد نظر خود را از زبان PHP داشته باشید.
این یک زبان کراس پلتفرم (Cross Platform) است. یعنی در پلتفرم های مختلف از ویندوز، گنو، مکینتاش و لینوکس می توان از آن اجرا گرفت و بدون اعمال تغییر چندانی در پیکربندی می توان از یک پلتفرم به پلتفرمی دیگر مهاجرت کرد.
زبان php با اکثر وب سرورهای مطرح جهان سازگاری دارد از این وب سرورها می توان به آپاچی، آی آی اس مایکروسافت و غیره اشاره کرد. همچنین از انواع دیتابیس ها مانند Oracle ،PostgreSQ ،MongoDB ،MySQL،SQLite و …پشتیبانی می کند.
آموزش ها و مستندات فراوانی از این زبان در اینترنت موجود است و این به دلیل کاربرد های زیاد این زبان است.
سایت های زیر در زمینه آموزش زبان php فعالیت می کنند؛
یکی از تفاوت های این زبان نسبت به رقیب اصلی خود یعنی Asp.net رایگان بودن php است. دیگر ویژگی آن open source بودن است بدین معنی که توسعه دهندگان در سراسر جهان این امکان را دارند که به رایگان این در اختیار گرفته و با تغییر و بهبود کد هایش آن را ارتفاء دهند.
بدون شک یکی از مهمترین دلایل برای محبوبیت زبان php این است که رویکرد اصلی اابداع آن طراحی سایت بوده زیرا در ابتدا به عنوان ابزاری برای مدیریت فرم ها و ساخت صفحات HTML طراحی شده بود. همه اینها از php یک زبان تخصصی سمت سرور برای طراحی وب اپلیکیشن ساخته است.
زبان پایه سیستم های تولید محتوا مانند دروپال، جوملا و وردپرس php است.از اینرو یادگیری آن برای تسلط بیشتر بر این سیستم ها ضروری است.
همانطور که در بالا گفتیم سیستم های مدیریت محتوا مانند وردپرس، جوملا و دروپال که هر سه بسیار پر طرفدار نیز هستند با زبان php توسعه داده شده اند. همین موضوع باعث شده بازار کار قابل توجهی برای برنامه نویسان این رشته به وجود بیاید. (به دلیل محبوبیت زیاد فریمورک های این زبان بسیاری از استارتاپ ها به دنبال برنامه نویسان php به خصوص آنهایی که به فریمورک لاراول تسلط دارند می باشند).
حتی اگر به هیچ عنوان تجربه یادگیری زبان های برنامه نویسی را نداشته باشید، تنها با خواندن چند آموزش درست و اصولی می توانید کدنویسی این زبان را یاد بگیرید همچنین قابل به ذکر است همه زبان های سمت سرور به راحتی این زبان برای طراحی سایت دینامیک نمی باشند.
از php با معماری های مختلف برنامه نویسی هم می توان استفاده کرد
از دیگر نقات قوت زبان برنامه نویسی این است که با این زبان هم می توان به صورت procedural و هم می توان به صورت object-oriented کد نویسی کرد.
Procedural یعنی برنامه نویسی بر پایه فراخوانی پروسه ها. پروسه ها را توابعی هستند که در هر نقطه ای می توانند فراخوانی شوند.(بعضی آن را به نام Imperative Programming نیز می شناسند).
object-oriented؛ اصطلاحا به آن برنامه نویسی شی گرا می گویند. در شی گرا برنامه بر پایه شی ها پیاده سازی می شود. این شی وظیفه انجام کار خاصی داشته و همچنین توانایی تعامل با دیگر شی ها را نیز دارد. با این شکل برنامه نویسی میتوان برنامه های گسترده تری با تعداد کمتر کد بنویسیم.